package com.example.educationalsystem.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author zpc
 * @since 2022-12-26
 */
@ColumnWidth(30)//注释在具体属性上,设置单独列。注释在类上,统一设置列宽
@HeadRowHeight(30)//设置表头行高
@ContentRowHeight(20)//统一设置数据行行高
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("vetting")
@ApiModel(value="Vetting对象", description="")
public class Vetting extends Model<Vetting> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "自增主键")
    @TableId(value = "id", type = IdType.AUTO)
    @ExcelProperty(value = "编号")
    private Integer id;

    @ApiModelProperty(value = "申请标题：缓考申请")
    @ExcelProperty(value = "申请标题")
    @TableField("vetting_title")
    private String vettingTitle;

    @ApiModelProperty(value = "申请详情内容：申情理由")
    @ExcelProperty(value = "申请详情内容")
    @TableField("vetting_content")
    private String vettingContent;

    @ApiModelProperty(value = "发起申请人的姓名:张三")
    @ExcelProperty(value = "发起者")
    @TableField("initiator")
    private String initiator;

    @ApiModelProperty(value = "审批人姓名:李四")
    @ExcelProperty(value = "审批人")
    @TableField("approver")
    private String approver;

    @ApiModelProperty(value = "审批状态：0-未审批;1-已审批")
    @ExcelProperty(value = "审批状态" )
    @TableField("vetting_status")
    private Integer vettingStatus;

    @ApiModelProperty(value = "审批结果:   0-通过;1-未通过")
    @ExcelProperty(value = "审批结果" )
    @TableField("vetting_result")
    private Integer vettingResult;

    @ApiModelProperty(value = "审批意见:  通过")
    @ExcelProperty(value = "审批意见" )
    @TableField("vetting_opinions")
    private String vettingOpinions;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
